package com.zhangtai.modules.entity.employee;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;


/**
 * 
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-07-01 13:50:19
 */
@Data
@TableName("tb_old_employee")
public class OldEmployeeEntity implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * id
		 */


			@TableId
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			@NotNull(message = "oid不能为空")
			@ApiModelProperty(value="员工id",required = true)
			private Long oid;

			/**
		 * 原公司名称
		 */
			@ApiModelProperty(value="公司名称",required = false)
			private String orgname;
	/**
	 * 公司id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long orgId;
			/**
		 * 原部门名称
		 */
			@ApiModelProperty(value="部门名称",required = false)
			private String unitname;
	/**
	 * 部门id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long unitId;
			/**
		 * 原岗位名称
		 */
			@ApiModelProperty(value="岗位名称",required = false)
			private String jobname;
	/**
	 * 职位id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long jobId;
			/**
		 * 员工状态
		 */
			@ApiModelProperty(value="员工状态，2：在职，9：实习，3,4,5,6：离职",required = false)
			private String employeestatus;
			/**
		 * 原入职日期
		 */
			@ApiModelProperty(value="原入职日期",required = false)
			private Date oldhiredate;
			/**
		 * 离职日期
		 */
			@ApiModelProperty(value="原离职日期",required = false)
			private Date dimissiondate;
			/**
		 * 是否中心负责人，0：不是，1：是
		 */
			@ApiModelProperty(value="是否公司负责人，null：不是，1：是",required = false)
			private Integer iscentreprincipal;
			/**
		 * 是否部门负责人
		 */
			@ApiModelProperty(value="是否部门负责人，null：不是，1：是",required = false)
			private Integer isdepartmentprincipa;

	/**
	 * 入职日期
	 */
			private Date hiredate;





	@ApiModelProperty(value="用工类型",required = false)
	private String jobType;


	private String idcard; //身份证

	private String code; //工号

	private String name; //姓名


	@ApiModelProperty(value="离职时长",required = false)
	private Integer daysBetween;

	@ApiModelProperty(value="0：本地库的新员工，1：离职不到一年，2：离职超过一年",required = false)
	private Integer type; //，1：离职不到一年，2：离职超过一年

	@ApiModelProperty(value="手机",required = false)
	private String mobile;

	@ApiModelProperty(value="邮箱",required = false)
	private String privatemail;



	@ApiModelProperty(value = "职级类别,1:专业职级，2：管理职级", required = false)
	private Integer jobLevelType;


	/**
	 * 职级id
	 */
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
	private Long jobLevelId;


	/**
	 * 职级
	 */
	private String jobLevel;






	/**
	 * 0:正常，1:删除
	 */
	private Integer isDelete;
	/**
	 *
	 */
	private Date createTime;

	/**
	 * 归档次数
	 */
	private Integer archiveNum;

	/**
	 * 归档时间
	 */
	private Date archiveTime;

	private String useraccount;

	private Integer isUpdate=0;

	
}
